package com.sc.nft.dto;

import com.sc.nft.enums.*;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author Jozu
 * @since 2024/10/28 11:18
 */

@Data
public class OrderSettleDTO {
    /**
     * 用户id
     */
    private Long userId;

    /**
     * 订单id
     */
    private Long orderId;

    /**
     * 支付单id-快照字段方便分账
     */
    private Long payOrderId;

    /**
     * 结算单单号
     */
    private String settleNo;

    /**
     * 二级订单号
     */
    private String orderNo;

    /**
     * 业务类型 1-藏品 2-道具
     * @see BizTypeEnum
     */
    private BizTypeEnum bizType;

    /**
     * 字符单号-快照字段方便分账
     */
    private String payNo;

    /**
     * 结算金额
     */
    private BigDecimal settleAmount;

    /**
     * 支付渠道
     * @see PayChannelEnum
     */
    private PayChannelEnum payChannel;


    /**
     * 支付方法
     * @see PayMethodEnum
     */
    private PayMethodEnum payMethod;

    /**
     * 0-待结算 1-已结算 2-已取消
     */
    private SettleAccountStatusEnum status;

    /**
     * 钱包记录类型
     */
    private WalletDetailTypeEnum type;

    /**
     * 账单记录类型
     */
    private ExpenditureRecordTypeEnum expenditureRecordType;

    /**
     * 用户类型 MERCHANT/USER
     */
    private SettleUserTypeEnum userType;

    /**
     * 订单总金额
     */
    private BigDecimal orderAmount;

    /**
     * 分账超时时间-杉德支付超时后无法分账需要代付
     */
    private Date expireTime;

    /**
     * 创建时间
     */
    private Date createTime;
}
